En Rust, Profils de publication sont des configurations prédéfinies qui permettent aux développeurs de contrôler le compromis entre temps de compilation et performance à l'exécution. En ajustant ces paramètres, vous pouvez adapter le comportement du compilateur à votre flux de travail actuel, que ce soit pour une itération rapide ou un déploiement en production.
1. Profils Dev vs. Profils de publication
Cargo dispose de deux profils principaux : dev (utilisé par cargo build) et publication (utilisé par cargo build --release). Le profil dev est optimisé pour une compilation rapide mais entraîne une exécution plus lente du code, tandis que le profil de publication consacre davantage de temps à optimiser le code machine pour une efficacité maximale.
2. Paramètre d'opt-level
Le opt-level paramètre est le principal contrôle de la performance. Il varie de 0 à 3 :
- 0 : Aucune optimisation. Compilation rapide, code lent. (Par défaut pour dev)
- 1-2 : Optimisations intermédiaires.
- 3 : Optimisations agressives. Compilation lente, code le plus rapide. (Par défaut pour publication)
- "s" ou "z" : Optimise la taille du binaire plutôt que la vitesse.
| Profil | Niveau d'optimisation par défaut | Objectif |
|---|---|---|
| dev | 0 | Itération rapide |
| publication | 3 | Vitesse en production |
3. Personnalisation des profils
Vous pouvez remplacer ces valeurs par défaut dans votre Cargo.toml. Cela est utile lorsque le code non optimisé est trop lent pour les tests (par exemple, dans des simulations lourdes), mais qu'une compilation complète de publication prend trop de temps.
opt-level = 1 # Code plus rapide que le niveau 0, tout en restant rapide à compiler